home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / test / test_profile.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  3KB  |  139 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.4)
  3.  
  4. '''Test suite for the profile module.'''
  5. import profile
  6. import os
  7. from test.test_support import TESTFN, vereq
  8. ticks = 0
  9.  
  10. def test_1():
  11.     global ticks
  12.     ticks = 0
  13.     prof = profile.Profile(timer)
  14.     prof.runctx('testfunc()', globals(), globals())
  15.     prof.print_stats()
  16.  
  17.  
  18. def timer():
  19.     return ticks * 0.001
  20.  
  21.  
  22. def testfunc():
  23.     global ticks
  24.     ticks += 199
  25.     helper()
  26.     helper()
  27.     ticks += 201
  28.  
  29.  
  30. def helper():
  31.     global ticks
  32.     ticks += 1
  33.     helper1()
  34.     ticks += 3
  35.     helper1()
  36.     ticks += 6
  37.     helper2()
  38.     ticks += 5
  39.     helper2()
  40.     ticks += 4
  41.     helper2()
  42.     ticks += 7
  43.     helper2()
  44.     ticks += 14
  45.  
  46.  
  47. def helper1():
  48.     global ticks
  49.     ticks += 10
  50.     hasattr(C(), 'foo')
  51.     ticks += 19
  52.  
  53.  
  54. def helper2():
  55.     global ticks
  56.     ticks += 11
  57.     hasattr(C(), 'bar')
  58.     ticks += 13
  59.     subhelper()
  60.     ticks += 15
  61.  
  62.  
  63. def subhelper():
  64.     global ticks
  65.     ticks += 2
  66.     for i in range(2):
  67.         
  68.         try:
  69.             C().foo
  70.         continue
  71.         except AttributeError:
  72.             ticks += 3
  73.             continue
  74.         
  75.  
  76.     
  77.  
  78.  
  79. class C:
  80.     
  81.     def __getattr__(self, name):
  82.         global ticks
  83.         ticks += 1
  84.         raise AttributeError
  85.  
  86.  
  87.  
  88. def test_2():
  89.     d = globals().copy()
  90.     
  91.     def testfunc():
  92.         global x
  93.         x = 1
  94.  
  95.     d['testfunc'] = testfunc
  96.     profile.runctx('testfunc()', d, d, TESTFN)
  97.     vereq(x, 1)
  98.     os.unlink(TESTFN)
  99.  
  100.  
  101. def test_3():
  102.     result = []
  103.     
  104.     def testfunc1():
  105.         
  106.         try:
  107.             len(None)
  108.         except:
  109.             pass
  110.  
  111.         
  112.         try:
  113.             len(None)
  114.         except:
  115.             pass
  116.  
  117.         result.append(True)
  118.  
  119.     
  120.     def testfunc2():
  121.         testfunc1()
  122.         testfunc1()
  123.  
  124.     profile.runctx('testfunc2()', locals(), locals(), TESTFN)
  125.     vereq(result, [
  126.         True,
  127.         True])
  128.     os.unlink(TESTFN)
  129.  
  130.  
  131. def test_main():
  132.     test_1()
  133.     test_2()
  134.     test_3()
  135.  
  136. if __name__ == '__main__':
  137.     test_main()
  138.  
  139.